﻿package morn.core.utils
{
    import flash.geom.*;

    public class StringUtils extends Object
    {

        public function StringUtils()
        {
            return;
        }// end function

        public static function fillArray(param1:Array, param2:String, param3:Class = null) : Array
        {
            var _loc_5:Array = null;
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            var _loc_8:String = null;
            var _loc_4:* = ObjectUtils.clone(param1);
            if (Boolean(param2))
            {
                _loc_5 = param2.split(",");
                _loc_6 = 0;
                _loc_7 = Math.min(_loc_4.length, _loc_5.length);
                while (_loc_6 < _loc_7)
                {
                    
                    _loc_8 = _loc_5[_loc_6];
                    if (_loc_8 == "true")
                    {
                        _loc_4[_loc_6] = true;
                    }
                    else if (_loc_8 == "false")
                    {
                        _loc_4[_loc_6] = false;
                    }
                    else if (param3 != null)
                    {
                        _loc_4[_loc_6] = StringUtils.param3(_loc_8);
                    }
                    else
                    {
                        _loc_4[_loc_6] = _loc_8;
                    }
                    _loc_6++;
                }
            }
            return _loc_4;
        }// end function

        public static function fillArrayByString(param1:Array, param2:String, param3:Class = null) : Array
        {
            var _loc_5:Array = null;
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            var _loc_8:String = null;
            var _loc_4:Array = null;
            if (Boolean(param2))
            {
                _loc_4 = StringArrayCache.ColorString2Array[param2];
                if (!_loc_4)
                {
                    _loc_4 = ObjectUtils.clone(param1);
                    _loc_5 = param2.split(",");
                    _loc_6 = 0;
                    _loc_7 = Math.min(_loc_4.length, _loc_5.length);
                    while (_loc_6 < _loc_7)
                    {
                        
                        _loc_8 = _loc_5[_loc_6];
                        _loc_4[_loc_6] = _loc_8 == "true" ? (true) : (_loc_8 == "false" ? (false) : (_loc_8));
                        if (param3 != null)
                        {
                            _loc_4[_loc_6] = StringUtils.param3(_loc_8);
                        }
                        _loc_6++;
                    }
                    StringArrayCache.ColorString2Array[param2] = _loc_4;
                }
            }
            if (_loc_4 == null)
            {
                _loc_4 = param1;
            }
            return _loc_4;
        }// end function

        public static function rectToString(param1:Rectangle) : String
        {
            if (param1)
            {
                return param1.x + "," + param1.y + "," + param1.width + "," + param1.height;
            }
            return null;
        }// end function

    }
}
